10. 练习 — 绘制方形
练习 — 绘制方形
理解某个概念并不一定就意味着你会使用它。为了帮助你巩固新学的技能,我们将练习编写你已经见过的一些代码。
在第一道练习中,我们将要求你判断每行代码的作用是什么。然后,我们将再次阅读代码,并要求你在不查看代码的情况下记住如何编写它们。
QUIZ QUESTION: :
将每段代码与描述相匹配。
ANSWER CHOICES:
描述 |
代码 |
---|---|
|
|
|
|
|
|
|
|
|
SOLUTION:
描述 |
代码 |
---|---|
|
|
|
|
|
|
|
|
|
QUIZ QUESTION: :
每段代码都是什么类型的代码?
ANSWER CHOICES:
代码 |
类型 |
---|---|
变量 |
|
整数 |
|
列表 |
|
字符串 |
SOLUTION:
代码 |
类型 |
---|---|
变量 |
|
整数 |
|
列表 |
|
字符串 |
QUIZ QUESTION: :
每段代码都是什么类型的代码?(我们应该使用什么术语描述每行代码?)
ANSWER CHOICES:
代码 |
是一个… |
---|---|
方法调用 |
|
导入语句 |
|
赋值语句 |
|
方法调用 |
|
方法调用 |
SOLUTION:
代码 |
是一个… |
---|---|
方法调用 |
|
方法调用 |
|
方法调用 |
|
导入语句 |
|
赋值语句 |
|
方法调用 |
|
方法调用 |
|
方法调用 |
|
方法调用 |
|
方法调用 |
|
方法调用 |
现在该练习自己记住代码了。这些代码行将和你在上方练习中看到的一样,但是现在你需要尝试在脑中记住它们,而不是直接从屏幕上识别它们。
注意,拼写和大小写必须都正确,才能成为正确答案。这是编程比较复杂的一个方面,即使一个小小的拼写错误也会使程序停止运行。
请努力得出正确答案,而不去查看上方代码(这样可以加强记忆力!)。但是如果你遇到问题了,可以向上滚动并快速浏览以回忆这些代码。
注意,这些练习旨在帮助你学习,并不是检验你。
QUESTION:
如果你想用 turtle 绘制图形,程序的第一行代码应该是什么?
SOLUTION:
import turtle
QUESTION:
要创建叫做
amy
的新 turtle,你会使用哪行代码?
SOLUTION:
amy = turtle.Turtle()
QUESTION:
要将
amy
的颜色设为
yellow
,你会使用哪行代码?
SOLUTION:
amy.color("yellow")
QUESTION:
要使
amy
右转
90
度,你会使用哪行代码?
SOLUTION:
amy.right(90)
QUESTION:
要使
amy
向前移动 100 个像素,你会使用哪行代码?
SOLUTION:
amy.forward(100)
现在将所有这些代码行放到一起。在下面的 workspace 中,创建一个叫做
amy
的 turtle,然后使
amy
画一个方形。
注意: 你可以通过仅使用在此页面上看到的代码行实现此目的。如果遇到问题了,可以回去查看上方练习,或者查看我们的解决方案(在 workspace 下方)。
Workspace
This section contains either a workspace (it can be a Jupyter Notebook workspace or an online code editor work space, etc.) and it cannot be automatically downloaded to be generated here. Please access the classroom with your account and manually download the workspace to your local machine. Note that for some courses, Udacity upload the workspace files onto https://github.com/udacity , so you may be able to download them there.
Workspace Information:
- Default file path:
- Workspace type: html-live
- Opened files (when workspace is loaded): n/a
( 备注 :如果你无法打开上面的workspace,请去 这里 )
Task Feedback:
耶,一个方形!
----
解决方案
下面是我们的代码。你的可能有所不同。
import turtle
amy = turtle.Turtle()
amy.color("yellow")
amy.forward(100)
amy.right(90)
amy.forward(100)
amy.right(90)
amy.forward(100)
amy.right(90)
amy.forward(100)
注意,这段代码多次使用了相同的代码行。即使对于只有四条边的图形,代码就很重复了。如果要画十边形呢?或者有 100 条边的形状呢?代码肯定会太重复了。似乎工作量很大。
幸运的是,有另一个选择:我们可以使用 循环 。我们将在接下来的几个页面中学习这个概念!